/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package org.apli.haiam.ejb.entidades;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author Informática
 */
@Entity
@Table(name = "far_devoluciones")
@NamedQueries({
    @NamedQuery(name = "FarDevoluciones.findAll", query = "SELECT f FROM FarDevoluciones f")})
public class FarDevoluciones implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "fdv_id")
    private Integer fdvId;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 32)
    @Column(name = "fdv_numero_factura")
    private String fdvNumeroFactura;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fdv_fecha_emision")
    @Temporal(TemporalType.DATE)
    private Date fdvFechaEmision;
    @Size(max = 2147483647)
    @Column(name = "fdv_observacion")
    private String fdvObservacion;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fdv_estado")
    private int fdvEstado;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fdv_id_usuario_envio")
    private int fdvIdUsuarioEnvio;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 128)
    @Column(name = "fdv_nombre_usuario_envio")
    private String fdvNombreUsuarioEnvio;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fdv_hora_emision")
    @Temporal(TemporalType.TIME)
    private Date fdvHoraEmision;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Basic(optional = false)
    @NotNull
    @Column(name = "fdv_total")
    private BigDecimal fdvTotal;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fdv_id_bodega")
    private int fdvIdBodega;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 128)
    @Column(name = "fdv_nombre_bodega")
    private String fdvNombreBodega;
    @OneToMany(mappedBy = "farDevoluciones", fetch = FetchType.LAZY)
    private List<FarDevolucionesDetalle> farDevolucionesDetalleList;

    public FarDevoluciones() {
    }

    public FarDevoluciones(Integer fdvId) {
        this.fdvId = fdvId;
    }

    public FarDevoluciones(Integer fdvId, String fdvNumeroFactura, Date fdvFechaEmision, int fdvEstado, int fdvIdUsuarioEnvio, String fdvNombreUsuarioEnvio, Date fdvHoraEmision, BigDecimal fdvTotal, int fdvIdBodega, String fdvNombreBodega) {
        this.fdvId = fdvId;
        this.fdvNumeroFactura = fdvNumeroFactura;
        this.fdvFechaEmision = fdvFechaEmision;
        this.fdvEstado = fdvEstado;
        this.fdvIdUsuarioEnvio = fdvIdUsuarioEnvio;
        this.fdvNombreUsuarioEnvio = fdvNombreUsuarioEnvio;
        this.fdvHoraEmision = fdvHoraEmision;
        this.fdvTotal = fdvTotal;
        this.fdvIdBodega = fdvIdBodega;
        this.fdvNombreBodega = fdvNombreBodega;
    }

    public Integer getFdvId() {
        return fdvId;
    }

    public void setFdvId(Integer fdvId) {
        this.fdvId = fdvId;
    }

    public String getFdvNumeroFactura() {
        return fdvNumeroFactura;
    }

    public void setFdvNumeroFactura(String fdvNumeroFactura) {
        this.fdvNumeroFactura = fdvNumeroFactura;
    }

    public Date getFdvFechaEmision() {
        return fdvFechaEmision;
    }

    public void setFdvFechaEmision(Date fdvFechaEmision) {
        this.fdvFechaEmision = fdvFechaEmision;
    }

    public String getFdvObservacion() {
        return fdvObservacion;
    }

    public void setFdvObservacion(String fdvObservacion) {
        this.fdvObservacion = fdvObservacion;
    }

    public int getFdvEstado() {
        return fdvEstado;
    }

    public void setFdvEstado(int fdvEstado) {
        this.fdvEstado = fdvEstado;
    }

    public int getFdvIdUsuarioEnvio() {
        return fdvIdUsuarioEnvio;
    }

    public void setFdvIdUsuarioEnvio(int fdvIdUsuarioEnvio) {
        this.fdvIdUsuarioEnvio = fdvIdUsuarioEnvio;
    }

    public String getFdvNombreUsuarioEnvio() {
        return fdvNombreUsuarioEnvio;
    }

    public void setFdvNombreUsuarioEnvio(String fdvNombreUsuarioEnvio) {
        this.fdvNombreUsuarioEnvio = fdvNombreUsuarioEnvio;
    }

    public Date getFdvHoraEmision() {
        return fdvHoraEmision;
    }

    public void setFdvHoraEmision(Date fdvHoraEmision) {
        this.fdvHoraEmision = fdvHoraEmision;
    }

    public BigDecimal getFdvTotal() {
        return fdvTotal;
    }

    public void setFdvTotal(BigDecimal fdvTotal) {
        this.fdvTotal = fdvTotal;
    }

    public int getFdvIdBodega() {
        return fdvIdBodega;
    }

    public void setFdvIdBodega(int fdvIdBodega) {
        this.fdvIdBodega = fdvIdBodega;
    }

    public String getFdvNombreBodega() {
        return fdvNombreBodega;
    }

    public void setFdvNombreBodega(String fdvNombreBodega) {
        this.fdvNombreBodega = fdvNombreBodega;
    }

    public List<FarDevolucionesDetalle> getFarDevolucionesDetalleList() {
        return farDevolucionesDetalleList;
    }

    public void setFarDevolucionesDetalleList(List<FarDevolucionesDetalle> farDevolucionesDetalleList) {
        this.farDevolucionesDetalleList = farDevolucionesDetalleList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (fdvId != null ? fdvId.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof FarDevoluciones)) {
            return false;
        }
        FarDevoluciones other = (FarDevoluciones) object;
        if ((this.fdvId == null && other.fdvId != null) || (this.fdvId != null && !this.fdvId.equals(other.fdvId))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "org.apli.haiam.ejb.entidades.FarDevoluciones[ fdvId=" + fdvId + " ]";
    }
    
}
